1. Field of the Invention
The present invention relates to telecommunication systems and, particularly, to a system and method for improving delay tolerance in master-slave type communication systems.
2. Description of the Related Art
Typical telecommunications equipment uses a master-slave method for passing information from the central processor to the peripherals. FIG. 1 illustrates a typical conventional distributed telecommunications system. The system 10 includes a main switch 100 connected to a remote shelf 104 using a conventional communications link, such as an isochronous circuit-switched network. Typically, the main switch 100 can be connected to additional remote shelves, as well as to the central office (CO) of a common carrier using a public switched telephone network. One or more peripheral units 108a-108n, such as telephones, modems, fax machines, etc., can be connected to the remote shelf 104. The main switch 100 may be a networked switch for providing switching and call setup services to the remote shelf 104 and, in particular, may be implemented as a computerized branch exchange (CBX) or private branch exchange (PBX), such as the Hicom 300E manufactured by Siemens Corporation.
Signaling information is exchanged between the processor on the main switch and the peripherals using a protocol such as the high level data link control (HDLC) protocol. In HDLC, peripherals are accessed via a unique address and serviced on a round-robin basis, with each peripheral receiving a poll frame and sending its response (either an information frame or an acknowledge frame).
Signaling flow is illustrated in FIG. 2. As shown, the controller 102 communicates with the peripheral 108 via transactions 202, 204, 206. In transaction 202, the controller sends a poll frame 203a to the peripheral 108 and receives an acknowledgement frame 203b in response. In transaction 204, the controller 102 sends a poll frame 205a, receives an information frame 205b, and returns an acknowledgement frame 205c. In transaction 206, the controller 102 sends an information frame 207a and receives an acknowledgement frame 207b. Each response typically generates an interrupt, telling the controller that the peripheral has received an information frame or a poll frame.
The signaling controller has to wait for each message to reach the target and wait for the response to arrive before the next target can be addressed. As delays are introduced between the controller 102 and the, peripherals 108, it takes much longer to complete a full cycle servicing all the peripherals. Thus, this technique is relatively intolerant to delays and requires peripherals to be located in relatively close proximity to the signaling controller.
Consequently, in order to implement remote peripherals, some conventional telecommunications systems network Private Branch Exchanges (PBX) via specialized protocols. However, such networking does not provide feature transparency and is a relatively expensive solution.
An alternative is using specialized remote peripherals that differ in both hardware and software from regular peripheral cards. However, this requires relatively high development effort and significant changes at the main site. Existing peripherals and controllers cannot be used.
Another alternative is to fully emulate the peripherals at the main location and duplicate the peripheral controller at the remote site. This requires specialized hardware and relatively complex software. In particular, the signaling controller must be duplicated at the remote end and adding new peripherals can affect the emulation hardware and software, making it difficult to implement changes. Moreover, inconsistencies can occur because the signaling controller is always emulating a state that is older than the actual state.
For example, returning to FIG. 1, in such systems, the main switch 100 includes a controller (not shown) including an emulator 102 for fully emulating the peripherals 108a-108n. The remote shelf 104 also includes an emulator 106 for duplicating the functions of the controller. An exemplary controller-emulator system is the RCMX system available from Siemens Corporation. The emulator 102 communicates with the emulator 106 using a conventional call setup protocol such as the high level data link control language (HDLC).
In order to emulate downlink information frames, all pre-acknowledged information frames need to be kept in buffers (not shown) until acknowledged by the peripherals. Thus, the number of required buffers is large and the logic needed to control the buffers is relatively complex. Moreover, error cases for downlink information frames are more complicated than for uplink information frames and the error handling in hardware without software and processor control is not feasible.
These and other problems in the prior art are overcome in large part by a system and method according to the present invention. A partial emulation technique is provided in which only the answers to poll frames and uplink information frames, or the slave part of the protocol, are emulated. All messages from the processor are passed down-link, and emulation is dependent upon the contents of an attendant list.
In operation, the attendant list is built by detecting responses to poll frames from the main controller. Once entries are made in the attendant list, partial emulation of responses to down link poll frames and up link information frames for each entry is allowed. No emulation of down link information frames occurs.
A partial emulation system according to an implementation of the present invention includes a local partial emulation unit and one or more remote partial emulation units. The local partial emulation unit includes a local partial emulation controller, the attendant list, a plurality of buffers for buffering up link information frames and acknowledge frames, and a plurality of timers for maintaining a timeout period (i.e., maximum transaction time). The remote partial emulation unit includes a remote partial emulation controller and a plurality of timers for maintaining a timeout period.